package com.geese.module.user.dao;

import com.geese.common.entity.User;
import com.geese.module.admin.vo.AdminVO;
import com.geese.module.business.vo.ChannelVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {

	/**
	 * 根据ID找到用户
	 */
	User findById(Integer userId);

	/**
	 * 新增用户信息
	 */
    void save(User user);

    /**
     * 修改用户
     */
	void update(User user);

	/**
	 * 删除用户
	 */
	int remove(Integer userId);

	/**
	 * 查询渠道列表
	 */
    List<User> selectChannelList(ChannelVO channelVO);

	/**
	 * 根据id选择性修改
	 */
	int updateById(User user);

	/**
	 * 批量删除
	 */
	void removeBatch(@Param("ids") List<Integer> ids);

	/**
	 * 批量查询
	 */
	List<User> selectListByIds(@Param("ids") List<Integer> ids);

	/**
	 * 根据type和mobile查询
	 * @param type
	 * @param mobile
	 * @return
	 */
    User selectByTypeAndMobile(@Param("type") int type, @Param("mobile") String mobile);

	/**
	 * 根据条件查找admin账号集合
	 * @param adminVO
	 * @return
	 */
    List<User> selectAdminList(AdminVO adminVO);


}